package com.hunit.mqtt_dome.service;

/**
 * @Description : MQTT消息服务接口
 * @Author : Sherlock
 * @Date : 2023/8/1 17:30
 */
public interface MqttMessageService {

    /**
     * 发送消息到指定主题
     *
     * @param topic 主题
     * @param message 消息内容
     * @return 是否发送成功
     */
    boolean sendMessage(String topic, String message);

    /**
     * 发送消息到指定主题，并设置是否保留消息
     *
     * @param topic 主题
     * @param message 消息内容
     * @param retained 是否保留消息
     * @return 是否发送成功
     */
    boolean sendMessage(String topic, String message, boolean retained);

    /**
     * 发送JSON格式消息到指定主题
     *
     * @param topic 主题
     * @param jsonObject JSON对象
     * @return 是否发送成功
     */
    boolean sendJsonMessage(String topic, Object jsonObject);

    /**
     * 发送JSON格式消息到指定主题，并设置是否保留消息
     *
     * @param topic 主题
     * @param jsonObject JSON对象
     * @param retained 是否保留消息
     * @return 是否发送成功
     */
    boolean sendJsonMessage(String topic, Object jsonObject, boolean retained);
} 